package com.ruicar.afs.cloud.basic.common.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruicar.afs.cloud.common.modules.contract.enums.AssetTypeEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.CostDetailedTypeEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.FeeTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import lombok.experimental.Accessors;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;

/**
 * @author: Lee
 * @date 2020-05-29 09:31:34 
 * @description 合同费用流水明细表
 */
@Data
@Accessors(chain = true)
@TableName(value ="basic_penalty_interest_details", autoResultMap = true)
public class BasicPenaltyInterestDetails extends BaseEntity<BasicPenaltyInterestDetails> {

	/** 合同号码 */
	@ApiModelProperty("合同号码")
	private String contractNo;
	/** 期数 */
	@ApiModelProperty("期数")
	private Integer termNo;
	/** 费用类型 枚举值：罚息、还款日变更手续费、提前还款手续费 */
	@ApiModelProperty("费用类型 枚举值：罚息、还款日变更手续费、提前还款手续费")
	private FeeTypeEnum costType;
	/** 操作类型 枚举值：新增欠款、欠款免除、欠款入账 */
	@ApiModelProperty("操作类型 枚举值：新增欠款、欠款免除、欠款入账")
	private CostDetailedTypeEnum operateType;
	/** 日期 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("日期")
	private Date date;
	/** 金额 */
	@ApiModelProperty("金额")
	private BigDecimal amount;

	/** 资产类型 */
	@ApiModelProperty("资产类型")
	private AssetTypeEnum assetType;

	@ApiModelProperty("收据ID")
	@JSONField(serializeUsing = com.alibaba.fastjson.serializer.ToStringSerializer.class)
	private Long receiptId;

}
